═══ 1. Introduction ═══ AudioRiver Media Player for OS/2 AudioRiver Media Player is a multi-threaded digital media player. AudioRiver Media Player supports the playback of any media directly supported by the MMPM/2 system as well as MOD and AUDIO MPEG file types. All that is required is that the MMPM/2 multimedia extensions must be installed. A digital capable audio adapter is required. AudioRiver Media Player is capable of playing songs in the background while you get real work done with a minimum of interruption (aside from the wonderful music of course). You will be able to listen to your favorite modules and still have a responsive system at your fingertips. You can create and save list of your favorite media elements. You can mix modules,MPEG Files, Videos, WAVE, MIDI files all in one SongList! These SongLists can be saved to be loaded at a later date. Supported File formats  Audio Formats - MODule Formats - MOD 4 Channel, 15 Samples NoiseTracker, ProTracker, SoundTracker etc. - XM Modules from Fasttracker 4,6,8,16 and 32 Channel FastTracker - STM Modules from Scream Tracker 2.x - S3M Modules from Scream Tracker 3.x - MTM Modules from MultiTracker 1.x - ULT Modules from UltraTracker  Wav  Voc  MID  AU - Suns AU files (only on warp4)  AIFF - AIFF files (only on warp4)  Audio Mpeg Layer II + III (internal handling) Video Formats  AVI (os/2) with regular MMPM/2 codecs  AVI - Windows with APCODEC Codecs  MPEG 1 movies (with IBM's Openmpeg codecs)  FLC / FLI  Quicktime Movies : with an Additional QT Codec from Practice CORP. or IBM Requires  Warp 3 or Warp 4  MMPM/2 installed  Dart if you wish to use Direct Sound Output  Pentium P75 or better recommended for Audio Mpeg Layer II playback  Pentium P100 or better recommended for Audio Mpeg Layer III playback Newest Releases are available from  http://www.bmtmicro.com  ftp://ftp.bmtmicro.com  http://www.filepile.com  ftp://ftp-os2.cdrom.com (after they sort it in, it will propably be in "/.4/os2/mmedia") This Software was written by Norbert Heller and Filippo Sartori ═══ 2. Main Panel ═══ Click on an area to see the explanation on the display of AudioRiver Media Player ═══ 3. Main Popup Menu ═══ By clicking the right mouse button on the main display panel, you will see a popup menu with several options Options - Settings Opens the Options Notebook play / stop / pause Does exactly what is says "<" - ">" Next and previous track ═══ 4. Listbox ═══ General Behaviour of the listbox Double click on a listbox entry when player is currently playing Stops playback of the currently playing file, loads the new file and continues playback Double click on a listbox entry when player is currently stopped Displays the new file in the main display (to play this file you have to press "PLAY") popup menu By clicking the right mouse button on the listbox, you will see a popup menu with several options files Opens a file requester where you can select one or more files to be added to the playlist playlist - shuffle Shuffles the currently loaded playlist (puts the sequence in random order) playlist - playlist (1-5) Loads the playlists 1-5 that are defined in the playlist settings page (un) follow While you are playing the tracks, the listbox may follow the currently playing file. You might want to switch to (unfollow) when you want to select a file from the beginning or the end of the loaded playlist (otherwise the listbox might be too fast and jumps back to the currently playing file). delete Deletes the selected file from the playlist (you have to save the new playlist, if you want to save the changed playlist) ═══ 5. Options Notebook ═══ Here you can specify several options for the general behaviour of the media player  page "Info"  page "mod options"  page "options"  page "audio filetypes"  page "video filetypes"  page "playlists"  page "about" ═══ 5.1. Page "Info" ═══ This page shows an information about the currently loaded files. All files are shown with their full path names. In case you have loaded a playlist with a comment, this comment for the file will also be shown. ═══ 5.2. Page "mod options" ═══ This page will set up the options for the mod player part and specifies how mod file types will be played. 44 / 22 / 11 khz here you can specify which sampling rate should be used to play MOD files. 16 / 8 bit here you can specify which bitrate should be used to play MOD files. stereo / mono here you can specify if the MOD file should be played in mono or stereo DART / MMPM/2 here you can specify if you want the new Dart method for playback or the "old" MMPM/2 Playlist method. If you choose MMPM/2 for playback, please note that this method will start playback after a few seconds delay (when the Buffers are filled) and can be affected by higher system load (this will result in unexpected "hickups" or loops) Therefore make shure that you can choose DART (with the appropriate DLL's installed) to receive the best playback sound, even when the system is heavy loaded Interpolate When this option is selected, MOD file effects will be resampled, which may result in better sound quality on some audio cards, but will also increase the CPU load. When you cannot hear any difference in sound playback, with this switch, you are probably already using a good quality soundcard. In this case, it is recommended to turn interpolation off. Note The higher you set these values, the better will be the quality of the played sound, but also the CPU load will be higher. Also no check is performed if your sound card is able to play back the sound in the quality you specified. ═══ 5.3. Page "options" ═══ Double click to close Here you can specify if you have to double/single click on the "POWER" button to close the player Small Bitmaps This option is intended to be used on smaller display resolutions (640 or 800) or on "patched" displays (e.g. with a patched 1024 display driver), where the icons are no longer 40*40 , but 32*32 in size, and all dialog boxes appear a little bit smaller in size. Small display This option is intended to be used on "patched" displays Note Changes in these settings will take effect the next startup ═══ 5.4. Page "audio filetypes" ═══ Here you can specify, which audio files you wish to play. checkmark Click on the checkmark to de/activate the appropriate filetype "suffix" entryfield In the entryfield, type in the "suffixes" of the files, that you want to play. name Here you can specify, which which MMPM device you want to play back the appropriate filetypes Note  you usually do not have to change anything here, except click on the checkboxes  in case you have e.g. an AUDIO MPEG file with the suffix "MPG", you can type in the suffix in the entryfield of the appropriate filetype  a suffix must not appear twice (do not setup the suffix "MPG" for Audio Mpeg and Video Mpeg !)  only the choosen filetypes will be loaded, when a new playlist is created, or when an already created playlist is loaded again  in case e.g. your MIDI device is not "sequencer01", specify the correct name for this device here. If you are not shure, what your devices are named, please check the names in the MMPM/2 setup  Only file types with the installed codecs will be played (if you want to play QUICKTIME or VIDEO MPEG, make shure, that an appropriate CODEC is installed on your system !) ═══ 5.5. Page "video filetypes" ═══ Here you can specify, which video files you wish to play. checkmark Click on the checkmark to de/activate the appropriate filetype "suffix" entryfield In the entryfield, type in the "suffixes" of the files, that you want to play. name Here you can specify, which which MMPM device you want to play back the appropriate filetypes ═══ 5.6. Page "playlists" ═══ load Selects a playlist file. This playlist file will be loaded when you click on the appropriate "tray" on the main display Entryfield The name of the selected playlists will be displayed here Save Saves a currently loaded playlist (check on page info) with a new filename Note A Playlist is a file, which contains the filenames of other files you wish to play in sequence. Example for a playlist file // // PLAYLIST File for Media PLAYER // C:\s3m\AMBIANCE.S3M Very good File C:\s3m\BEYONDCH.S3M C:\s3m\CHASEME.S3M Great Bass C:\s3m\D-EDUC.S3M C:\s3m\FATAL.S3M H:\SONGS\ADELANTE.MP2 5:10 H:\SONGS\ANYTHING.MP2 This example playlist contains Comments // // PLAYLIST File for Media PLAYER // Anything at the from the beginning of a line, which cannot be identified as a file, will be treated as a comment Filename C:\s3m\AMBIANCE.S3M Very good File Anything at the from the beginning of a line until the first occurrence of a " " (blank), which can be identified and verified as a file, will be treated as a filename File Comment C:\s3m\AMBIANCE.S3M Very good File Anything after the first occurrence of a " " (blank), after a verified filename, will be treated as a comment for this file Note  only existing files will be loaded, which means files are verified when the playlist is opened  only such files are loaded, which types are "checked" in the filetypes setup this means, even if a valid filename is given in a playlist, it might not be loaded, because this filetype is omitted in the setup ═══ 5.7. Page "about" ═══ Type in your registration name and code number when you have received your registration key. This information is saved when the Settings Notebook is closed. In case the entered data is correct, the player will be "registered" the next time you start it. Note In case the player still displays "UNREGISTERED" the next startup, make sure you entered the data in the correct form as shown here An example of an incorrect form The easiest way is to copy/paste the data into the appropriate entryfields, when you received an email registration ═══ 6. WPS Integration ═══ Drag&drop of files You can drop files from the WPS to the main window or onto the listbox to create a playlist of songs Drag&drop of colors You can drop colors from the color palette to the display elements This will work for all display elements shown in the main display Drag&drop of fonts You can drop fonts from the font palette onto the listbox This will not work for the text elements shown in the main display, because here no regular OS/2 fonts are used. ═══ 7. MPEG Audio ═══  General MPEG Audio Information  Mpeg Audio Layers  MPEG Audio Encoder  ENCODE_ALL Sample Script ═══ 7.1. General MPEG Audio Information ═══ Introduction At the end of the eighties the audio and video industry faced the prospect of saturated markets and over capacity. What was required was new products and services that would capture consumers' imagination. The data capacity of existing digital storage media and their transmission links limited its potential for further exploitation without a generic coding scheme for video and its associated audio. The existing JPEG (Joint Photographic Experts Group) standard for bit rate reduction had been developed for still pictures, and was clearly inadequate for moving pictures. To avoid a crippling standards battle, the Moving Pictures Expert Group (MPEG) was formed to devise a suitable coding scheme for transmitting moving pictures and recording them in standard digital storage media, i.e. CD-ROM, CD-i, Multi-session CD, Video CD. A meeting between the International Standards Organisation (ISO) and the International Electrotechnical Commission (IEC) in 1992 resulted in a standard for audio and video coding, known as MPEG1 (ISO/IEC 11172). Today MPEG2 delivers picture and sound quality equal to TV studio standards. How does MPEG audio work? In devising a coding method, the basis had to be the human ear. Unfortunately this is not a perfect device for acoustic reception but is the best that we have. Advantage was taken of one of the human ear's shortcomings: its non-linear and adaptive threshold of hearing. The threshold of hearing is the level below which a sound is not heard. It varies with frequency and, of course, between individuals. Most people's hearing is most sensitive between 2 and 5 kiloHertz. Whether a person hears a sound or not depends on the frequency of the sound and whether its amplitude is above or below that persons hearing threshold at that frequency. The threshold of hearing is also adaptive, being constantly changed by the sounds heard. For example, an ordinary conversation in a room is perfectly audible under normal conditions. However, the same conversation in the vicinity of a loud noise, such as an aircraft passing low overhead, is impossible to hear due to the distortions introduced to the hearing thresholds of the individuals concerned. When the aircraft has gone the hearing thresholds return to normal. Sounds that are inaudible due to dynamic adaptation of the hearing threshold are said to be "masked". This effect is universal but is of particular relevance in music. An orchestra instrument playing fortissimo will, to a greater or lesser extent, make the sound of some other instruments inaudible to the human ear. When the music is recorded, however, all the frequencies go on the medium because the response of the recording device is flat, i.e. it is not dynamically adaptive. When the recording is played the masked instruments will not be audible to the listener, so might as well not be there. A linear recording, as used on CD, is inefficient in this respect. To make the most use of a recording medium the parts of the medium that contain inaudible data can better be used for audible data. In this way the amount of the recording medium needed to contain the music can be considerably reduced without any loss of audio quality. ═══ 7.2. Mpeg Audio Layers ═══ For audio, MPEG defines three operational modes known as Layers I, II, and III. Each layer offers increased compression but also Increased encoding complexity. MPEG I layer Layer I is the simplest layer which is suitable for consumer use. It features subband filtering with 32 equal-width subbands, adaptive bit allocation and block companding. Bit rates range from 32 kbit/s (mono) up to 448 kbit/s (stereo). Depending on the complexity of the encoder, a high (near CD) audio quality requires a bit rate of about 256 - 384 kb/s per stereo program. The complexity of the decoder is low, the encoder complexity is about 1.5 to 3 times as high. MPEG II layer Layer II offers more compression than Layer I. Layer II has numerous applications in both consumer and professional audio, such as audio broadcasting, television, telecommunications, and multi-media. Bit rates range from 32 - 192 kb/s for mono, and from 64 - 384 kb/s for stereo. Depending on the complexity of the encoder, a high (near CD) audio quality requires a bit rate of about 192 - 256 kb/s per stereo program. The complexity of the decoder is about 25 % higher than for Layer I decoder, the encoder complexity is about 2 to 4 times higher. The encoding range is extended to 8 kbit/s for mono and stereo. A near CD audio quality can be achieved at 128 kbit/s. MPEG III layer Layer III offers even more compression. Layer III extends MPEG1 applications into narrow band ISDN telecommunications and certain specialist areas of professional audio. ═══ 7.3. MPEG Audio Encoder ═══ This Program converts WAV files into Audio MPEG Files Make sure that the source Wav File is 44100 hz, 16 bit, stereo Encoding will take a VERY long time (an 4 minute Wav file takes about 10 minutes on a P-150) Usage in Batch mode Encode [-switch] or standalone mode Encode here you will be asked for all options infile filename of a Wav File (source) this can be a file in the current directory or in a different directory outfile filename of the MPEG File to produce (target) Switches -s followed by the sampling rate (or default of 44100 is used) -b followed by the total bitrate (valid bitrates are eg. 384, 192, 96) -m followed by the mode (stereo/dual channel/joint stereo/mono) -p followed by the psychoacoustic model number (I or II) -d followed by the de-emphasis flag ()one, (5)0/15 microseconds, (c)citt j.17 -c followed by the copyright/no_copyright flag -o followed by the original/not_original flag -e followed by the error_protection on/off flag ═══ 7.4. ENCODE_ALL Sample Script ═══ ENCODE_ALL sample script to enode all *.WAV files from a certain directory Usage : ENCODE_ALL ═══ 8. MOD Files ═══  General MOD File Information  ALL The mod file type you can play ═══ 8.1. General MOD File Information ═══ A .MOD file is a digital music file that contains a score plus digitized samples of instruments, unlike MIDI files which only contain the score and rely on your soundcard's FM chip or your synthesizer's sound bank to supply the instruments. It's also different from a .WAV file, which is just a single digitized sound or instrument. A MOD player uses a simple form of Wavetable synthesis, adjusting the pitch of each digitized sample to produce the different notes as they are called by the score. All of this digital mixing takes place on your computer's CPU and not on the sound card itself (except for the Gravis UltraSound (GUS), which has a special chip to take the load of the main CPU) meaning that your computer will feel slower during playback of a song -- after all it's trying to pump upwards of 44k per second of data to the sound card. Also different from .WAV files is the size of .MOD files. A 30 minute song could easily be under 300K since most of the file's bulk is used to store the digitized instruments. Also unlike MIDI files, MODule files don't always sound the same on different players. Given the wide range of file formats, each one with different features and effects, you may find that while one player can render a song perfectly another may stumble over an effect or technique it wasn't programmed to handle properly. To complicate matters further, some players are much more bullish on CPU usage than others. The introduction of DART -- Direct Audio Real Time -- in Warp 4.0 (the .dll libraries necessary are also available for Warp 3) means that players can send data to the sound card directly, rather than going through OS/2's MMPM, resulting in much smoother, uninterrupted playback with lower CPU load. A little history MODs came from the Commodore Amiga, that amazing computer from the mid 80's that practically invented Multimedia and showed the world what tight code and clean engineering could do. The Amiga's still around with a cult following that keeps it alive (sound like anyone you know, you OS/2-ers out there?) not to mention a cozy niche in TV production and broadcasting. (Watch Babylon 5 and catch a load of those computer generated space scenes, that's Amigas at work there.) The MODs themselves are generated with programs such as SoundTracker, NoiseTracker, ProTracker, ScreamTracker and others. There are actually many formats too, including the original 4-channel SoundTracker .MODs, ScreamTracker's 16-channel .S3M, and FastTracker's .XM format with its 32 channels and other unique features such as envelopes and an instrument/sample model. This ability for people to cheaply and easily compose music, then distribute it for free over the Internet has created a whole new culture some would say. Looking through the messages hidden in the instrument lists you start to pick up the names of prolific composers, working under aliases like "Deathjester", "Feekzoid" and the almost godly "U4ia" (pronounced, of course, "euphoria"). Some advertise their skills for writing video game scores, some are members of "Demo" groups, while others work alone cranking out tune after tune after tune. ═══ 8.2. ALL The mod file type you can play ═══ SUPPORTED MOD FORMATS : * MOD 4 Channel, 15 Samples NoiseTracker * MOD 4 Channel, 15 Samples NoiseTracker, ProTracker, SoundTracker etc. * XM Modules from Fasttracker 4,6,8,16 and 32 Channel FastTracker * STM Modules from Scream Tracker 2.x * S3M Modules from Scream Tracker 3.x * MTM Modules from MultiTracker 1.x * ULT Modules from UltraTracker SOME GOOD FTP SITES FOR MOD FILES ARE: kosmic.wit.com /kosmic/songs ftp.cdrom.com /demos/music/songs/199?/S3M /demos/music/disks /.21/demos/music/songs/1995/mtm http://ftp.uni-paderborn.de/aminet/dirs/mods.html (warning, this site is HUGE) ═══ 9. License ═══ AudioRiver Media Player is shareware. You are allowed to test and use this program for 30 days. After this period you must register your copy, if you want to continue to use it. This 30 day period applies to all Versions of the Player You may distribute the shareware version of AudioRiver Media Player, either through electronic media e.g. BBS's or on diskettes. You may charge for the distribution, but not more than $2. You may distribute only the complete and unaltered archive as supplied by the author. You may install the registered version on more than one machine. However, you must make sure that it is only used on one machine at a time. As soon as one license is used on more than one machine at a time, you need additional licenses. The author does not guarantee for the correctness of the program. The author also may not be held responsible for any loss of data or other damages caused by the use of AudioRiver Media Player. The author does not guarantee that the program can be used for a specific purpose. If you like to distribute the program in conjunction with commercial software or hardware ("bundling"), you must have a written permission of the author to do so. If AudioRiver Media Player is to be included in a collection of other freeware or shareware programs on CD-ROM or diskette, written permission by the author is required and a free copy of the cd rom has to be send to the author as a proof of the shareware concept. If you aquired this licence to update a licence for a previous version, the licence for the previous version thereby expires. A licence always is a version licence, i.e. it is valid for all versions of the program that have the same major version number. You need to aquire a new licence when the new version has a major version number that is different from that of the older version. You're not allowed to give a registration key to third parties. If you distribute this program in compressed form ("archived"), you must use a format that supports long file names and extended attributes. Program Versions that are explicitely labeled "BETA" are NOT to be put on any CD ROM nor are they to be sold from third party for ANY AMOUNT of money. norbert heller / filippo sartori (1997) ═══ 10. Author's Details ═══ AudioRiver was written by Norbert Heller E-mail: NorbertHeller@swol.de home: http://www.bmtmicro.com/heller and Filippo Sartori E-mail: sartori@pdigi1.igi.pd.cnr.it ═══ 11. CREDITS ═══ Credits go out to  All Registered Users for Support  Thomas Bradford (BMT Micro)  Scott Jentsch - Special Support and a good "filepile"  All "Private" Beta Testers - Chris Hocking - Hans Holm - Joerg Berg - Markus Zangerle - Martin Neumann - Michael R. Delahoz - Rene Ertzinger - Thomas Lieven - Thomas Rush  Chris Wenhan - for writing test reports  Ronny Ko - "The Reporter" ═══ 12. DART ═══ DART means Direct Audio Real Time, which means  A better interface to sound output  Easier programming (approx 1/3rd of a MMPM playlist approach) For the user, DART consists of 2 DLL's AMPMXMCD.DLL AUDIOSH.DLL which replace the already existing files (544 byte) in your /mmos2/dll directory. Unfortunately, IBM behaves very strange about these DLL's, means that it is not legal to distribute them with the software product (i don't know why ??) I have tried to get a permission from IBM to include these DLL's with my software for more than 9 Months now (the DLL's i have are from August.25.1995 !!) I therefore suggest, that you get them from somebody who has :  Devcon (try CD 3) \toolkits\warptlkt\toolkit\beta\samples\entoolkt\audio\daudio  Internet http://www.polsci.wvu.edu/Henry/Files/DART.zip  MERLIN /mmos2/dll PLEASE do not ask ME for these DLL's, go and bug IBM!! ═══ 13. Limitations in the unregistered Version ═══ If you have not registered AudioRiver Media Player, then you will have to face up to a few limitations. Especially, since some people did not seem to value my prior engagement in the Shareware concept and decided to crack some of my software These limitations may seem critical, however, they do not interfere with the evaluation of the program. The current limitations are as follows:  Intro and Final dialog  Only one playlist may be loaded (five playlists in registered version) I hope that you do not find that these limitations are too restrictive. You should still be able to determine whether or not you wish to use the program even with these restrictions. Due to these limitations, many people may quickly dub this software as 'Crippleware' or the like. Be that as it may, I have made a serious investment in the development of AudioRiver Media Player and I must protect that investment (or the next version will not be an OS/2 Shareware version any more). I have tried to do so in the most benign manner possible ═══ ═══ Loads the playlists 1-5 that are defined in the playlist settings page ═══ ═══ Displays all currently loaded files. See also a closer description for the Listbox ═══ ═══ Displays the number of currently loaded files in the playlist ═══ ═══ A Button labeled "time" ═══ ═══ Opens the mixer for the soundcard (if you specified one in the settings notebook) ═══ ═══ Decreases the current playback volume ═══ ═══ Mutes the sound ═══ ═══ Inreases the current playback volume Automatically "unmutes" the sound if mute was pressed before ═══ ═══ Opens the Options Notebook ═══ ═══ Turns the power off (exits the AudioRiver Media Player) You can specify in the options settings, if you want to use double click or single click to close the player ═══ ═══ MOD FILES - Audio MPEG Go back a pattern in the sound ═══ ═══ Start playing the currently selected files from the playlist ═══ ═══ MOD FILES - Audio MPEG Advance a pattern in the sound ═══ ═══ Play the previous file in the current playlist ═══ ═══ Stop playback of the current file ═══ ═══ Play the next file in the current playlist ═══ ═══ Ejects all files (empties the currently loaded playlist) ═══ ═══ MOD FILES - AUDIO MPEG FILES Pauses current playback ═══ ═══ MOD FILES Displays name of song ═══ ═══ Displays filename of currently playing file ═══ ═══ MOD FILES Displays type of tracker used to create song file ═══ ═══ MOD FILES Displays speed of current song in BPM (Beats per Minute) Audio MPEG Files Displays channels / bitrate used for recording ═══ ═══ MOD FILES Displays current position in song Audio MPEG Files Displays frequency used for recording ═══ ═══ Displays current track in playlist of files ═══ ═══ Displays current playing position of the playback ═══ ═══ Displays current volume setting of song ═══ ═══ (Three camels are silhouetted against the bright stars of the moonless sky, moving slowly along the horizon. A star leads them towards Bethlehem. The WISE MEN enter the gates of the sleeping town and make their way through the deserted streets. A dog snarls at them. They approach a stable, out of which streams a beam of light. They dismount and enter to find a typical manger scene, with a baby in a rough crib of straw and patient animals standing around. The mother nods by the side of the child. Suddenly she wakes from her lightish doze, sees them, shrieks and falls backwards off her straw. She's up again in a flash, looking guardedly at them. She is a ratbag.) Mandy Who are you? Wise Man 1 We are three wise men. Wise Man 2 We are astrologers. We have come from the East. Mandy Is this some kind of joke? WM1 We wish to praise the infant. WM2 We must pay homage to him. Mandy Homage!! You're all drunk you are. It's disgusting. Out, out. WM3 No, no. Mandy Coming bursting in here first thing in the morning with some tale about Oriental fortune tellers... get out. WM1 No. No we must see him. Mandy Go and praise someone else's brat, go on. WM2 We were led by a star. Mandy Led by a bottle, more like. Get out! WM2 We must see him. We have brought presents. Mandy Out! WM1 Gold, frankincense, myrrh. (Mandy changes direction, smooth as silk.) Mandy Well, why didn't you say? He's over here ... Sorry this place is a bit of a mess. What is myrrh, anyway? WM3 It is a valuable balm. Mandy A balm, what are you giving him a balm for? It might bite him. WM3 What? Mandy It's a dangerous animal. Quick, throw it in the trough. WM3 No it isn't. Mandy Yes it is. WM3 No, no, it is an ointment. Mandy An ointment? WM3 Look. Mandy (sampling the ointment with a grubby finger). Oh. There is an animal called a balm or did I dream it? You astrologers, eh? Well, what's he then? WM2 H'm? Mandy What star sign is he? WM2 Capricorn. Mandy Capricorn eh, what are they like? WM2 He is the son of God, our Messiah. WM1 King of the Jews. Mandy And that's Capricorn, is it? WM3 No, no, that's just him. Mandy Oh, I was going to say, otherwise there'd be a lot of them. (The WISE MEN are on their knees.) WM2 By what name are you calling him? (Dramatic Holy music... ) Mandy ... Brian. Three Wise Men We worship you, Oh, Brian, who are Lord over us all. Praise unto you, Brian and to the Lord our Father. Amen. Mandy Do you do a lot of this, then? WM1 What? Mandy This praising. WM1 No, no, no. Mandy Oh! Well, if you're dropping by again do pop in. (They take the hint and rise.) And thanks a lot for the gold and frankincense but ... don't worry too much about the myrrh next time. Thank you ... Goodbye. (To Brian) Well weren't they nice ... out of their bloody minds, but still... (In the background we see the WISE MEN pause outside the door as a gentle glow suffuses them. They look at each other, confer and then stride back in and grab the presents off MANDY and turn to go again, pushing MANDY over. Here, here, that's mine, you just gave me that. Ow!